package com.example.mq_sm.mqserver.core;

import lombok.Data;

import java.io.Serializable;

@Data
public class BasicProperties implements Serializable {
    // 消息的唯一身份标识
    // 为了保证唯一性，这里使用 UUID
    private String messageId;

    /**
     * DIRECT: routingKey 表示要转发的队列名
     * FANOUT: routingKey 无意义，因为是全部都进行转发
     * TOPIC: routingKey 就要和 bindingKey 做匹配，符合要求的才能转发给对应队列
     */
    // 是一个消息上带有的内容和 bindingKey 做匹配
    private String routingKey;
    // 这个属性表示消息是否需要持久化 1 表示不持久化， 2 表示持久化(RabbitMQ 是这样做的)
    private int deliverMode = 1;

    // RabbitMQ中还有其他属性，这里不列举
}
